(* Ben Kettle
 *
 * Copyright (c) 2024, Semgrep Inc.
 *
 * This library is free software; you can redistribute it and/or
 * modify it under the terms of the GNU Lesser General Public License
 * version 2.1 as published by the Free Software Foundation, with the
 * special exception on linking described in file LICENSE.
 *
 * This library is distributed in the hope that it will be useful, but
 * WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the file
 * LICENSE for more details.
 *)
module Out = Semgrep_output_v1_t

(*****************************************************************************)
(* Prelude *)
(*****************************************************************************)
(* Package ecosystem.
 *
 * alt: we could rename this file Package_manager.ml but Pypi is not really a
 * a package manager so maybe Ecosystem.ml is better.
 *)

(*****************************************************************************)
(* Types *)
(*****************************************************************************)

type t = Out.ecosystem =
  | Npm
  | Pypi
  | Gem
  | Gomod
  | Cargo
  | Maven
  | Composer
  | Nuget
  | Pub
  | SwiftPM
  | Cocoapods
  (* Deprecated: Mix is a build system, should use Hex, which is the ecosystem *)
  | Mix
  | Hex
  | Opam
[@@deriving eq, ord, show]
